package com.wondertek.poms.service.vo;

import com.wondertek.poms.common.utils.validate.GroupType;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
import java.util.List;

/**
 * @author evan0213
 * @description
 */
@Data
public class PrdInfoVo {

	@NotNull(message = "商品包id不能为空", groups = {GroupType.Update.class})
	private Long prdInfoId;  //商品包id

	@NotBlank(message = "商品包名称不能为空", groups = {Default.class, GroupType.Update.class})
	private String name;  //商品包名称

	private String alias;    //别名

	//	@Null(message = "父商品包id不可编辑", groups = {GroupType.Update.class})
	private Long parent; // 父栏目ID

	@Length(max = 200, groups = {Default.class, GroupType.Update.class})
	private String description; // 商品包描述

	private Long spId; // 内容整合方;

	@NotNull(message = "产品类型不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer type; // 产品类型 1：和视界 2：和视频 3.内容输出 4.咪咕直播 5.咪咕VR

	@NotNull(message = "产品属性不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer prdInfoType; // 产品属性：1：垂直栏目 2:品牌栏目 3：V+  4：分站 5：G客G拍 6：本地 7：和视界 9：和视频会员产品 10：一级货架 11：咪咕视频门户产品 12：咪咕直播 13：咪咕VR

	private Long bcId; // 播控方

	@NotNull(message = "所属一级产品不能为空", groups = {Default.class})
//	@Null(message = "一级产品不可编辑", groups = {GroupType.Update.class})
	private Long firstProductInfoPackageId;// 所属一级产品

	@NotNull(message = "所属二级产品不能为空", groups = {Default.class})
//	@Null(message = "二级产品不可编辑", groups = {GroupType.Update.class})
	private Long productInfoPackageId;//所属二级产品

	private Integer enterPrdInfoPriority;//入包优先级

	private Long supportId; // 支撑方

	private Long unSupportId; //弱版权方

	@NotNull(message = "优先级不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer priority; // 优先级

	@NotBlank(message = "创建人不能为空", groups = {Default.class})
	@Length(max = 50, groups = {Default.class})
//	@Null(message = "创建人不可编辑", groups = {GroupType.Update.class})
	private String creator;    //创建人

	@NotBlank(message = "委托人不能为空", groups = {Default.class})
	@Length(max = 50, groups = {Default.class})
//	@Null(message = "委托人不可编辑", groups = {GroupType.Update.class})
	private String delegator;    //委托人

	@NotNull(message = "是否全部播控不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer isBc; // 是否全部播控  0:否;1:是

	@NotNull(message = "是否输出不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer isOutput; //是否输出内容;0:否;1:是

	@NotNull(message = "自动发布不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer autoVomsPublish; //是否自动发布内容;0:否;1:是

	private Integer isPublish;  // 是否发布  1：未发布 2：已发布 3.已撤回

	private String ids; //商品包ids 多个时以英文逗号拼接

	private List<PrdInfoPublishVo> list;
}
